package com.njtoyo.taxi.admin.rest.wrapper.business.driver;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;


@Data
@ApiModel(value = "司机自主注册修改信息")
public class DriverRegistrationInfoUpdateWrapper {

    @ApiModelProperty(value = "司机姓名")
    @NotNull(message = "司机姓名不能为空")
    private String name;

    @ApiModelProperty(value = "运营区ID")
    @NotNull(message = "运营区ID不能为空")
    private Long driverRegionId;

    @ApiModelProperty(value = "公司id")
    @NotNull(message = "公司id不能为空")
    private Long companyId;

    @ApiModelProperty(value = "车牌号")
    @NotNull(message = "车牌号不能为空")
    @Pattern(regexp = "(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{5})|(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{6})",
            message = "车牌号格式不准确")
    private String plateNumber;

//    @ApiModelProperty(value = "设备号")
    private String deviceId;

//    @ApiModelProperty(value = "服务卡号")
    private String serviceNumber;

    @ApiModelProperty(value = "身份证号")
    @NotNull(message = "身份证号不能为空")
    @Pattern(regexp = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)| (^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)",
            message = "身份证号格式不准确")
    private String identityNumber;

//    @ApiModelProperty(value = "驾驶证号码")
//    @NotNull(message = "驾驶证号码不能为空")
//    @Pattern(regexp = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)| (^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)",
//            message = "驾驶证号码格式不准确")
    private String driverLicenceNumber;

    @ApiModelProperty(value = "行驶证号")
    //@NotNull(message = "行驶证号不能为空")
    private String vehicleLicenceNumber;

    @ApiModelProperty(value = "从业资格证号")
    //@NotNull(message = "从业资格证号不能为空")
    private String qualificationCertificateNumber;

//    @ApiModelProperty(value = "车辆发动机号")
    private String engineNumber;

//    @ApiModelProperty(value = "道路交通号")
    private String roadTransportNumber;

    @ApiModelProperty(value = "从业资格证有效期(时间戳)")
    private Integer qualificationCertificateExpiringTimestamp;

    @ApiModelProperty(value = "行驶证强制报废期(时间戳)")
    private Integer vehicleLicenceExpiringTimestamp;

}
